<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml">
		<head>
			<!-- template designed by Marco Von Ballmoos  -->
			<title>Docs For Class BaseFacebook</title>
			<link rel="stylesheet" href="../media/stylesheet.css" />
						<script src="../media/lib/classTree.js"></script>
												<script language="javascript" type="text/javascript">
				var imgPlus = new Image();
				var imgMinus = new Image();
				imgPlus.src = "../media/images/plus.png";
				imgMinus.src = "../media/images/minus.png";
				
				function showNode(Node){
							switch(navigator.family){
								case 'nn4':
									// Nav 4.x code fork...
							var oTable = document.layers["span" + Node];
							var oImg = document.layers["img" + Node];
									break;
								case 'ie4':
									// IE 4/5 code fork...
							var oTable = document.all["span" + Node];
							var oImg = document.all["img" + Node];
									break;
								case 'gecko':
									// Standards Compliant code fork...
							var oTable = document.getElementById("span" + Node);
							var oImg = document.getElementById("img" + Node);
									break;
							}
					oImg.src = imgMinus.src;
					oTable.style.display = "block";
				}
				
				function hideNode(Node){
							switch(navigator.family){
								case 'nn4':
									// Nav 4.x code fork...
							var oTable = document.layers["span" + Node];
							var oImg = document.layers["img" + Node];
									break;
								case 'ie4':
									// IE 4/5 code fork...
							var oTable = document.all["span" + Node];
							var oImg = document.all["img" + Node];
									break;
								case 'gecko':
									// Standards Compliant code fork...
							var oTable = document.getElementById("span" + Node);
							var oImg = document.getElementById("img" + Node);
									break;
							}
					oImg.src = imgPlus.src;
					oTable.style.display = "none";
				}
				
				function nodeIsVisible(Node){
							switch(navigator.family){
								case 'nn4':
									// Nav 4.x code fork...
							var oTable = document.layers["span" + Node];
									break;
								case 'ie4':
									// IE 4/5 code fork...
							var oTable = document.all["span" + Node];
									break;
								case 'gecko':
									// Standards Compliant code fork...
							var oTable = document.getElementById("span" + Node);
									break;
							}
					return (oTable && oTable.style.display == "block");
				}
				
				function toggleNodeVisibility(Node){
					if (nodeIsVisible(Node)){
						hideNode(Node);
					}else{
						showNode(Node);
					}
				}
			</script>
					</head>
		<body>
			<div class="page-body">			
<h2 class="class-name"><img src="../media/images/AbstractClass_logo.png"
														alt="Abstract Class"
														title="Abstract Class"
														style="vertical-align: middle"> BaseFacebook</h2>

<a name="sec-description"></a>
<div class="info-box">
	<div class="info-box-title">Description</div>
	<div class="nav-bar">
					<span class="disabled">Description</span> |
							<a href="#sec-descendents">Descendents</a>
			|											<a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
						|											<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
						
											<a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>)
						
			</div>
	<div class="info-box-body">
        		<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Provides access to the Facebook Platform.  This class provides</p>
<p class="description"><p>a majority of the functionality needed, but the class is abstract  because it is designed to be sub-classed.  The subclass must  implement the four abstract methods listed at the bottom of  the file.</p></p>
	<ul class="tags">
				<li><span class="field">author:</span> Naitik Shah &lt;<a href="mailto:naitik@facebook.com">naitik@facebook.com</a>&gt;</li>
				<li><span class="field">abstract:</span> </li>
			</ul>
		<p class="notes">
			Located in <a class="field" href="_system---libraries---base_facebook.nct.library.php.html">/system/libraries/base_facebook.nct.library.php</a> (line <span class="field">118</span>)
		</p>
		
				
		<pre></pre>
	
			</div>
</div>

	<a name="sec-descendents"></a>
	<div class="info-box">
		<div class="info-box-title">Direct descendents</div>
		<div class="nav-bar">
			<a href="#sec-description">Description</a> |
			<span class="disabled">Descendents</span>
			|												<a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
								|															<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
							
															<a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>)
							
					</div>
		<div class="info-box-body">
			<table cellpadding="2" cellspacing="0" class="class-table">
				<tr>
					<th class="class-table-header">Class</th>
					<th class="class-table-header">Description</th>
				</tr>
								<tr>
					<td style="padding-right: 2em; white-space: nowrap">
						<img src="../media/images/Class.png"
								 alt=" class"
								 title=" class"
								 style="vertical-align: center"/>
						<a href="../default/Facebook.html">Facebook</a>
					</td>
					<td>
											Extends the BaseFacebook class with the intent of using  PHP sessions to store user ids and access tokens.
										</td>
				</tr>
							</table>
		</div>
	</div>

	<a name="sec-const-summary"></a>
	<div class="info-box">
		<div class="info-box-title">Class Constant Summary</span></div>
		<div class="nav-bar">
			<a href="#sec-description">Description</a> |
							<a href="#sec-descendents">Descendants</a> |
						<span class="disabled">Constants</span> (<a href="#sec-consts">details</a>)
												<a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
				 
				|
										| 
									<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
							
					</div>
		<div class="info-box-body">
			<div class="const-summary">
								<div class="const-title">
					<img src="../media/images/Constant.png" alt=" " />
					<a href="#VERSION" title="details" class="const-name">VERSION</a> = 					<span class="var-type"> '3.1.1'</span>

				</div>
							</div>
		</div>
	</div>

	<a name="sec-var-summary"></a>
	<div class="info-box">
		<div class="info-box-title">Variable Summary</span></div>
		<div class="nav-bar">
			<a href="#sec-description">Description</a> |
							<a href="#sec-descendents">Descendants</a> |
						<span class="disabled">Vars</span> (<a href="#sec-vars">details</a>)
							| 
									<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
							
															<a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>)
							
					</div>
		<div class="info-box-body">
			<div class="var-summary">
																																				<div class="var-title">
					<img src="../media/images/StaticVariable.png" alt=" " />
					static <span class="var-type">mixed</span>
					<a href="#$CURL_OPTS" title="details" class="var-name">$CURL_OPTS</a>
				</div>
																<div class="var-title">
					<img src="../media/images/StaticVariable.png" alt=" " />
					static <span class="var-type">mixed</span>
					<a href="#$DOMAIN_MAP" title="details" class="var-name">$DOMAIN_MAP</a>
				</div>
																<div class="var-title">
					<img src="../media/images/StaticVariable.png" alt=" " />
					static <span class="var-type">mixed</span>
					<a href="#$DROP_QUERY_PARAMS" title="details" class="var-name">$DROP_QUERY_PARAMS</a>
				</div>
																																																				<div class="var-title">
					<img src="../media/images/Variable.png" alt=" " />
					<span class="var-type">string</span>
					<a href="#$accessToken" title="details" class="var-name">$accessToken</a>
				</div>
																<div class="var-title">
					<img src="../media/images/Variable.png" alt=" " />
					<span class="var-type">string</span>
					<a href="#$apiSecret" title="details" class="var-name">$apiSecret</a>
				</div>
																<div class="var-title">
					<img src="../media/images/Variable.png" alt=" " />
					<span class="var-type">string</span>
					<a href="#$appId" title="details" class="var-name">$appId</a>
				</div>
																																								<div class="var-title">
					<img src="../media/images/Variable.png" alt=" " />
					<span class="var-type">boolean</span>
					<a href="#$fileUploadSupport" title="details" class="var-name">$fileUploadSupport</a>
				</div>
																<div class="var-title">
					<img src="../media/images/Variable.png" alt=" " />
					<span class="var-type">mixed</span>
					<a href="#$signedRequest" title="details" class="var-name">$signedRequest</a>
				</div>
																<div class="var-title">
					<img src="../media/images/Variable.png" alt=" " />
					<span class="var-type">mixed</span>
					<a href="#$state" title="details" class="var-name">$state</a>
				</div>
																<div class="var-title">
					<img src="../media/images/Variable.png" alt=" " />
					<span class="var-type">integer</span>
					<a href="#$user" title="details" class="var-name">$user</a>
				</div>
											</div>
		</div>
	</div>

	<a name="sec-method-summary"></a>
	<div class="info-box">
		<div class="info-box-title">Method Summary</span></div>
		<div class="nav-bar">
			<a href="#sec-description">Description</a> |
							<a href="#sec-descendents">Descendants</a> |
															<a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>)
							
															<a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
				 
				|
						<span class="disabled">Methods</span> (<a href="#sec-methods">details</a>)
		</div>
		<div class="info-box-body">			
			<div class="method-summary">
																											
				<div class="method-definition">
					<img src="../media/images/StaticMethod.png" alt=" "/>
					static 						<span class="method-result">string</span>
										<a href="#base64UrlDecode" title="details" class="method-name">base64UrlDecode</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$input</span>)
									</div>
																																							
				<div class="method-definition">
					<img src="../media/images/StaticMethod.png" alt=" "/>
					static 						<span class="method-result">void</span>
										<a href="#errorLog" title="details" class="method-name">errorLog</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$msg</span>)
									</div>
																																																																																																																																																																																																																																																																																											
				<div class="method-definition">
					<img src="../media/images/Constructor.png" alt=" "/>
											<span class="method-result">BaseFacebook</span>
										<a href="#__construct" title="details" class="method-name">__construct</a>
											(<span class="var-type">array</span>&nbsp;<span class="var-name">$config</span>)
									</div>
															
				<div class="method-definition">
					<img src="../media/images/Method.png" alt=" "/>
											<span class="method-result">mixed</span>
										<a href="#api" title="details" class="method-name">api</a>
										()
									</div>
																							
				<div class="method-definition">
					<img src="../media/images/AbstractMethod.png" alt=" "/>
											<span class="method-result">void</span>
										<a href="#clearAllPersistentData" title="details" class="method-name">clearAllPersistentData</a>
										()
									</div>
															
				<div class="method-definition">
					<img src="../media/images/AbstractMethod.png" alt=" "/>
											<span class="method-result">void</span>
										<a href="#clearPersistentData" title="details" class="method-name">clearPersistentData</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$key</span>)
									</div>
															
				<div class="method-definition">
					<img src="../media/images/Method.png" alt=" "/>
											<span class="method-result">void</span>
										<a href="#destroySession" title="details" class="method-name">destroySession</a>
										()
									</div>
																							
				<div class="method-definition">
					<img src="../media/images/Method.png" alt=" "/>
											<span class="method-result">void</span>
										<a href="#establishCSRFTokenState" title="details" class="method-name">establishCSRFTokenState</a>
										()
									</div>
															
				<div class="method-definition">
					<img src="../media/images/Method.png" alt=" "/>
											<span class="method-result">string</span>
										<a href="#getAccessToken" title="details" class="method-name">getAccessToken</a>
										()
									</div>
															
				<div class="method-definition">
					<img src="../media/images/Method.png" alt=" "/>
											<span class="method-result">mixed</span>
										<a href="#getAccessTokenFromCode" title="details" class="method-name">getAccessTokenFromCode</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$code</span>, [<span class="var-type"></span>&nbsp;<span class="var-name">$redirect_uri</span> = <span class="var-default">null</span>])
									</div>
															
				<div class="method-definition">
					<img src="../media/images/Method.png" alt=" "/>
											<span class="method-result">string</span>
										<a href="#getApiSecret" title="details" class="method-name">getApiSecret</a>
										()
									</div>
															
				<div class="method-definition">
					<img src="../media/images/Method.png" alt=" "/>
											<span class="method-result">string</span>
										<a href="#getApiUrl" title="details" class="method-name">getApiUrl</a>
											(<span class="var-type">$method</span>&nbsp;<span class="var-name">$method</span>)
									</div>
															
				<div class="method-definition">
					<img src="../media/images/Method.png" alt=" "/>
											<span class="method-result">string</span>
										<a href="#getAppId" title="details" class="method-name">getAppId</a>
										()
									</div>
															
				<div class="method-definition">
					<img src="../media/images/Method.png" alt=" "/>
											<span class="method-result">string</span>
										<a href="#getApplicationAccessToken" title="details" class="method-name">getApplicationAccessToken</a>
										()
									</div>
															
				<div class="method-definition">
					<img src="../media/images/Method.png" alt=" "/>
											<span class="method-result">mixed</span>
										<a href="#getCode" title="details" class="method-name">getCode</a>
										()
									</div>
															
				<div class="method-definition">
					<img src="../media/images/Method.png" alt=" "/>
											<span class="method-result">string</span>
										<a href="#getCurrentUrl" title="details" class="method-name">getCurrentUrl</a>
										()
									</div>
															
				<div class="method-definition">
					<img src="../media/images/Method.png" alt=" "/>
											<span class="method-result">string</span>
										<a href="#getLoginStatusUrl" title="details" class="method-name">getLoginStatusUrl</a>
											([<span class="var-type">array</span>&nbsp;<span class="var-name">$params</span> = <span class="var-default">array()</span>])
									</div>
															
				<div class="method-definition">
					<img src="../media/images/Method.png" alt=" "/>
											<span class="method-result">string</span>
										<a href="#getLoginUrl" title="details" class="method-name">getLoginUrl</a>
											([<span class="var-type">array</span>&nbsp;<span class="var-name">$params</span> = <span class="var-default">array()</span>])
									</div>
															
				<div class="method-definition">
					<img src="../media/images/Method.png" alt=" "/>
											<span class="method-result">string</span>
										<a href="#getLogoutUrl" title="details" class="method-name">getLogoutUrl</a>
											([<span class="var-type">array</span>&nbsp;<span class="var-name">$params</span> = <span class="var-default">array()</span>])
									</div>
															
				<div class="method-definition">
					<img src="../media/images/AbstractMethod.png" alt=" "/>
											<span class="method-result">mixed</span>
										<a href="#getPersistentData" title="details" class="method-name">getPersistentData</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$key</span>, [<span class="var-type">boolean</span>&nbsp;<span class="var-name">$default</span> = <span class="var-default">false</span>])
									</div>
															
				<div class="method-definition">
					<img src="../media/images/Method.png" alt=" "/>
											<span class="method-result">string</span>
										<a href="#getSignedRequest" title="details" class="method-name">getSignedRequest</a>
										()
									</div>
															
				<div class="method-definition">
					<img src="../media/images/Method.png" alt=" "/>
											<span class="method-result">string</span>
										<a href="#getSignedRequestCookieName" title="details" class="method-name">getSignedRequestCookieName</a>
										()
									</div>
															
				<div class="method-definition">
					<img src="../media/images/Method.png" alt=" "/>
											<span class="method-result">string</span>
										<a href="#getUrl" title="details" class="method-name">getUrl</a>
											(<span class="var-type">$name</span>&nbsp;<span class="var-name">$name</span>, [<span class="var-type">$path</span>&nbsp;<span class="var-name">$path</span> = <span class="var-default">''</span>], [<span class="var-type">$params</span>&nbsp;<span class="var-name">$params</span> = <span class="var-default">array()</span>])
									</div>
															
				<div class="method-definition">
					<img src="../media/images/Method.png" alt=" "/>
											<span class="method-result">string</span>
										<a href="#getUser" title="details" class="method-name">getUser</a>
										()
									</div>
															
				<div class="method-definition">
					<img src="../media/images/Method.png" alt=" "/>
											<span class="method-result">string</span>
										<a href="#getUserAccessToken" title="details" class="method-name">getUserAccessToken</a>
										()
									</div>
															
				<div class="method-definition">
					<img src="../media/images/Method.png" alt=" "/>
											<span class="method-result">integer</span>
										<a href="#getUserFromAccessToken" title="details" class="method-name">getUserFromAccessToken</a>
										()
									</div>
															
				<div class="method-definition">
					<img src="../media/images/Method.png" alt=" "/>
											<span class="method-result">integer</span>
										<a href="#getUserFromAvailableData" title="details" class="method-name">getUserFromAvailableData</a>
										()
									</div>
															
				<div class="method-definition">
					<img src="../media/images/Method.png" alt=" "/>
											<span class="method-result">string</span>
										<a href="#makeRequest" title="details" class="method-name">makeRequest</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$url</span>, <span class="var-type">array</span>&nbsp;<span class="var-name">$params</span>, [<span class="var-type">CurlHandler</span>&nbsp;<span class="var-name">$ch</span> = <span class="var-default">null</span>])
									</div>
															
				<div class="method-definition">
					<img src="../media/images/Method.png" alt=" "/>
											<span class="method-result">array</span>
										<a href="#parseSignedRequest" title="details" class="method-name">parseSignedRequest</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$signed_request</span>)
									</div>
															
				<div class="method-definition">
					<img src="../media/images/Method.png" alt=" "/>
											<span class="method-result"><a href="../default/BaseFacebook.html">BaseFacebook</a></span>
										<a href="#setAccessToken" title="details" class="method-name">setAccessToken</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$access_token</span>)
									</div>
															
				<div class="method-definition">
					<img src="../media/images/Method.png" alt=" "/>
											<span class="method-result"><a href="../default/BaseFacebook.html">BaseFacebook</a></span>
										<a href="#setApiSecret" title="details" class="method-name">setApiSecret</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$apiSecret</span>)
									</div>
															
				<div class="method-definition">
					<img src="../media/images/Method.png" alt=" "/>
											<span class="method-result"><a href="../default/BaseFacebook.html">BaseFacebook</a></span>
										<a href="#setAppId" title="details" class="method-name">setAppId</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$appId</span>)
									</div>
															
				<div class="method-definition">
					<img src="../media/images/Method.png" alt=" "/>
											<span class="method-result"><a href="../default/BaseFacebook.html">BaseFacebook</a></span>
										<a href="#setFileUploadSupport" title="details" class="method-name">setFileUploadSupport</a>
											(<span class="var-type">boolean</span>&nbsp;<span class="var-name">$fileUploadSupport</span>)
									</div>
															
				<div class="method-definition">
					<img src="../media/images/AbstractMethod.png" alt=" "/>
											<span class="method-result">void</span>
										<a href="#setPersistentData" title="details" class="method-name">setPersistentData</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$key</span>, <span class="var-type">array</span>&nbsp;<span class="var-name">$value</span>)
									</div>
															
				<div class="method-definition">
					<img src="../media/images/Method.png" alt=" "/>
											<span class="method-result">boolean</span>
										<a href="#shouldRetainParam" title="details" class="method-name">shouldRetainParam</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$param</span>)
									</div>
															
				<div class="method-definition">
					<img src="../media/images/Method.png" alt=" "/>
											<span class="method-result">void</span>
										<a href="#throwAPIException" title="details" class="method-name">throwAPIException</a>
											(<span class="var-type">$result</span>&nbsp;<span class="var-name">$result</span>)
									</div>
															
				<div class="method-definition">
					<img src="../media/images/Method.png" alt=" "/>
											<span class="method-result">boolean</span>
										<a href="#useFileUploadSupport" title="details" class="method-name">useFileUploadSupport</a>
										()
									</div>
															
				<div class="method-definition">
					<img src="../media/images/Method.png" alt=" "/>
											<span class="method-result">mixed</span>
										<a href="#_graph" title="details" class="method-name">_graph</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$path</span>, [<span class="var-type">string</span>&nbsp;<span class="var-name">$method</span> = <span class="var-default">'GET'</span>], [<span class="var-type">array</span>&nbsp;<span class="var-name">$params</span> = <span class="var-default">array()</span>])
									</div>
															
				<div class="method-definition">
					<img src="../media/images/Method.png" alt=" "/>
											<span class="method-result">string</span>
										<a href="#_oauthRequest" title="details" class="method-name">_oauthRequest</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$url</span>, <span class="var-type">array</span>&nbsp;<span class="var-name">$params</span>)
									</div>
															
				<div class="method-definition">
					<img src="../media/images/Method.png" alt=" "/>
											<span class="method-result">mixed</span>
										<a href="#_restserver" title="details" class="method-name">_restserver</a>
											(<span class="var-type">array</span>&nbsp;<span class="var-name">$params</span>)
									</div>
											</div>
		</div>
	</div>		

	<a name="sec-vars"></a>
	<div class="info-box">
		<div class="info-box-title">Variables</div>
		<div class="nav-bar">
			<a href="#sec-description">Description</a> |
							<a href="#sec-descendents">Descendents</a> |
										<a href="#sec-var-summary">Vars</a> (<span class="disabled">details</span>)
						
			
												<a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>)
							
										| 
									<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
							
					</div>
		<div class="info-box-body">
			<a name="var$CURL_OPTS" id="$CURL_OPTS"><!-- --></A>
<div class="oddrow">

	<div class="var-header">
		<img src="../media/images/StaticVariable.png" />
		<span class="var-title">
			static <span class="var-type">mixed</span>
			<span class="var-name">$CURL_OPTS</span>
			 = <span class="var-default">array(<br />    CURLOPT_CONNECTTIMEOUT =&gt; 10,<br />    CURLOPT_RETURNTRANSFER =&gt; true,<br />    CURLOPT_TIMEOUT        =&gt; 60,<br />    CURLOPT_USERAGENT      =&gt; 'facebook-php-3.1',<br />  )</span>			(line <span class="line-number">128</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Default options for curl.</p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
			</ul>
	
	
		
		

</div>
<a name="var$DOMAIN_MAP" id="$DOMAIN_MAP"><!-- --></A>
<div class="evenrow">

	<div class="var-header">
		<img src="../media/images/StaticVariable.png" />
		<span class="var-title">
			static <span class="var-type">mixed</span>
			<span class="var-name">$DOMAIN_MAP</span>
			 = <span class="var-default">array(<br />    'api'       =&gt; 'https://api.facebook.com/',<br />    'api_video' =&gt; 'https://api-video.facebook.com/',<br />    'api_read'  =&gt; 'https://api-read.facebook.com/',<br />    'graph'     =&gt; 'https://graph.facebook.com/',<br />    'www'       =&gt; 'https://www.facebook.com/',<br />  )</span>			(line <span class="line-number">148</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Maps aliases to Facebook domains.</p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
			</ul>
	
	
		
		

</div>
<a name="var$DROP_QUERY_PARAMS" id="$DROP_QUERY_PARAMS"><!-- --></A>
<div class="oddrow">

	<div class="var-header">
		<img src="../media/images/StaticVariable.png" />
		<span class="var-title">
			static <span class="var-type">mixed</span>
			<span class="var-name">$DROP_QUERY_PARAMS</span>
			 = <span class="var-default">array(<br />    'code',<br />    'state',<br />    'signed_request',<br />  )</span>			(line <span class="line-number">139</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">List of query parameters that get automatically dropped when rebuilding  the current URL.</p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	
		
		

</div>

<a name="var$accessToken" id="$accessToken"><!-- --></A>
<div class="evenrow">

	<div class="var-header">
		<img src="../media/images/Variable.png" />
		<span class="var-title">
			<span class="var-type">string</span>
			<span class="var-name">$accessToken</span>
			 = <span class="var-default"> null</span>			(line <span class="line-number">193</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">The OAuth access token received in exchange for a valid authorization  code.  null means the access token has yet to be determined.</p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	
		
		

</div>
<a name="var$apiSecret" id="$apiSecret"><!-- --></A>
<div class="oddrow">

	<div class="var-header">
		<img src="../media/images/Variable.png" />
		<span class="var-title">
			<span class="var-type">string</span>
			<span class="var-name">$apiSecret</span>
						(line <span class="line-number">168</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">The Application API Secret.</p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	
		
		

</div>
<a name="var$appId" id="$appId"><!-- --></A>
<div class="evenrow">

	<div class="var-header">
		<img src="../media/images/Variable.png" />
		<span class="var-title">
			<span class="var-type">string</span>
			<span class="var-name">$appId</span>
						(line <span class="line-number">161</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">The Application ID.</p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	
		
		

</div>
<a name="var$fileUploadSupport" id="$fileUploadSupport"><!-- --></A>
<div class="oddrow">

	<div class="var-header">
		<img src="../media/images/Variable.png" />
		<span class="var-title">
			<span class="var-type">boolean</span>
			<span class="var-name">$fileUploadSupport</span>
			 = <span class="var-default"> false</span>			(line <span class="line-number">200</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Indicates if the CURL based @ syntax for file uploads is enabled.</p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	
		
		

</div>
<a name="var$signedRequest" id="$signedRequest"><!-- --></A>
<div class="evenrow">

	<div class="var-header">
		<img src="../media/images/Variable.png" />
		<span class="var-title">
			<span class="var-type">mixed</span>
			<span class="var-name">$signedRequest</span>
						(line <span class="line-number">180</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">The data from the signed_request token.</p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	
		
		

</div>
<a name="var$state" id="$state"><!-- --></A>
<div class="oddrow">

	<div class="var-header">
		<img src="../media/images/Variable.png" />
		<span class="var-title">
			<span class="var-type">mixed</span>
			<span class="var-name">$state</span>
						(line <span class="line-number">185</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">A CSRF state variable to assist in the defense against CSRF attacks.</p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	
		
		

</div>
<a name="var$user" id="$user"><!-- --></A>
<div class="evenrow">

	<div class="var-header">
		<img src="../media/images/Variable.png" />
		<span class="var-title">
			<span class="var-type">integer</span>
			<span class="var-name">$user</span>
						(line <span class="line-number">175</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">The ID of the Facebook user, or 0 if the user is logged out.</p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	
		
		

</div>
						
		</div>
	</div>
	
	<a name="sec-methods"></a>
	<div class="info-box">
		<div class="info-box-title">Methods</div>
		<div class="nav-bar">
			<a href="#sec-description">Description</a> |
							<a href="#sec-descendents">Descendents</a> |
															<a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
																			<a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>)
							
										<a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>)
						
		</div>
		<div class="info-box-body">
			<A NAME='method_detail'></A>
<a name="methodbase64UrlDecode" id="base64UrlDecode"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<img src="../media/images/StaticMethod.png" />
		<span class="method-title">static base64UrlDecode</span> (line <span class="line-number">1083</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Base64 encoding that doesn't need to be urlencode()ed.</p>
<p class="description"><p>Exactly the same as base64_encode except it uses <ul><li>instead of +</li></ul>   _ instead of /</p></p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	<div class="method-signature">
		static <span class="method-result">string</span>
		<span class="method-name">
			base64UrlDecode
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$input</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$input</span><span class="var-description">: base64UrlEncoded string</span>			</li>
				</ul>
		
			
	</div>
<a name="methoderrorLog" id="errorLog"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<img src="../media/images/StaticMethod.png" />
		<span class="method-title">static errorLog</span> (line <span class="line-number">1063</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Prints to the error log if you aren't in command line mode.</p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	<div class="method-signature">
		static <span class="method-result">void</span>
		<span class="method-name">
			errorLog
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$msg</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$msg</span><span class="var-description">: Log message</span>			</li>
				</ul>
		
			
	</div>
<a name="method__construct" id="__construct"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<img src="../media/images/Constructor.png" />
		<span class="method-title">Constructor __construct</span> (line <span class="line-number">212</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Initialize a Facebook Application.</p>
<p class="description"><p>The configuration: <ul><li>appId: the application ID</li><li>secret: the application secret</li><li>fileUpload: (optional) boolean indicating if file uploads are enabled</li></ul></p></p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">BaseFacebook</span>
		<span class="method-name">
			__construct
		</span>
					(<span class="var-type">array</span>&nbsp;<span class="var-name">$config</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">array</span>
				<span class="var-name">$config</span><span class="var-description">: The application configuration</span>			</li>
				</ul>
		
			
			<hr class="separator" />
		<div class="notes">Redefined in descendants as:</div>
		<ul class="redefinitions">
					<li>
				<a href="../default/Facebook.html#method__construct">Facebook::__construct()</a>
								: Identical to the parent constructor, except that  we start a PHP session to store the user ID and  access token if during the course of execution  we discover them.
							</li>
				</ul>
	</div>
<a name="methodapi" id="api"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<img src="../media/images/Method.png" />
		<span class="method-title">api</span> (line <span class="line-number">548</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Make an API call.</p>
	<ul class="tags">
				<li><span class="field">return:</span> The decoded response</li>
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">mixed</span>
		<span class="method-name">
			api
		</span>
				()
			</div>
	
		
			
	</div>
<a name="methodclearAllPersistentData" id="clearAllPersistentData"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<img src="../media/images/AbstractMethod.png" />
		<span class="method-title">clearAllPersistentData</span> (line <span class="line-number">1140</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Clear all data from the persistent storage</p>
	<ul class="tags">
				<li><span class="field">abstract:</span> </li>
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">void</span>
		<span class="method-name">
			clearAllPersistentData
		</span>
				()
			</div>
	
		
			
			<hr class="separator" />
		<div class="notes">Redefined in descendants as:</div>
		<ul class="redefinitions">
					<li>
				<a href="../default/Facebook.html#methodclearAllPersistentData">Facebook::clearAllPersistentData()</a>
							</li>
				</ul>
	</div>
<a name="methodclearPersistentData" id="clearPersistentData"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<img src="../media/images/AbstractMethod.png" />
		<span class="method-title">clearPersistentData</span> (line <span class="line-number">1133</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Clear the data with $key from the persistent storage</p>
	<ul class="tags">
				<li><span class="field">abstract:</span> </li>
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">void</span>
		<span class="method-name">
			clearPersistentData
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$key</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$key</span>			</li>
				</ul>
		
			
			<hr class="separator" />
		<div class="notes">Redefined in descendants as:</div>
		<ul class="redefinitions">
					<li>
				<a href="../default/Facebook.html#methodclearPersistentData">Facebook::clearPersistentData()</a>
							</li>
				</ul>
	</div>
<a name="methoddestroySession" id="destroySession"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<img src="../media/images/Method.png" />
		<span class="method-title">destroySession</span> (line <span class="line-number">1090</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Destroy the current session</p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">void</span>
		<span class="method-name">
			destroySession
		</span>
				()
			</div>
	
		
			
	</div>
<a name="methodestablishCSRFTokenState" id="establishCSRFTokenState"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<img src="../media/images/Method.png" />
		<span class="method-title">establishCSRFTokenState</span> (line <span class="line-number">632</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Lays down a CSRF state token for this process.</p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">void</span>
		<span class="method-name">
			establishCSRFTokenState
		</span>
				()
			</div>
	
		
			
	</div>
<a name="methodgetAccessToken" id="getAccessToken"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<img src="../media/images/Method.png" />
		<span class="method-title">getAccessToken</span> (line <span class="line-number">307</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Determines the access token that should be used for API calls.</p>
<p class="description"><p>The first time this is called, $this-&gt;accessToken is set equal  to either a valid user access token, or it's set to the application  access token if a valid user access token wasn't available.  Subsequent  calls return whatever the first call returned.</p></p>
	<ul class="tags">
				<li><span class="field">return:</span> The access token</li>
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">string</span>
		<span class="method-name">
			getAccessToken
		</span>
				()
			</div>
	
		
			
	</div>
<a name="methodgetAccessTokenFromCode" id="getAccessTokenFromCode"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<img src="../media/images/Method.png" />
		<span class="method-title">getAccessTokenFromCode</span> (line <span class="line-number">651</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Retrieves an access token for the given authorization code</p>
<p class="description"><p>(previously generated from www.facebook.com on behalf of  a specific user).  The authorization code is sent to graph.facebook.com  and a legitimate access token is generated provided the access token  and the user for which it was generated all match, and the user is  either logged in to Facebook or has granted an offline access permission.</p></p>
	<ul class="tags">
				<li><span class="field">return:</span> An access token exchanged for the authorization code, or                false if an access token could not be generated.</li>
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">mixed</span>
		<span class="method-name">
			getAccessTokenFromCode
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$code</span>, [<span class="var-type"></span>&nbsp;<span class="var-name">$redirect_uri</span> = <span class="var-default">null</span>])
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$code</span><span class="var-description">: An authorization code.</span>			</li>
					<li>
				<span class="var-type"></span>
				<span class="var-name">$redirect_uri</span>			</li>
				</ul>
		
			
	</div>
<a name="methodgetApiSecret" id="getApiSecret"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<img src="../media/images/Method.png" />
		<span class="method-title">getApiSecret</span> (line <span class="line-number">261</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Get the API Secret.</p>
	<ul class="tags">
				<li><span class="field">return:</span> the API Secret</li>
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">string</span>
		<span class="method-name">
			getApiSecret
		</span>
				()
			</div>
	
		
			
	</div>
<a name="methodgetApiUrl" id="getApiUrl"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<img src="../media/images/Method.png" />
		<span class="method-title">getApiUrl</span> (line <span class="line-number">869</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Build the URL for api given parameters.</p>
	<ul class="tags">
				<li><span class="field">return:</span> The URL for the given parameters</li>
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">string</span>
		<span class="method-name">
			getApiUrl
		</span>
					(<span class="var-type">$method</span>&nbsp;<span class="var-name">$method</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">$method</span>
				<span class="var-name">$method</span><span class="var-description">: String the method name.</span>			</li>
				</ul>
		
			
	</div>
<a name="methodgetAppId" id="getAppId"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<img src="../media/images/Method.png" />
		<span class="method-title">getAppId</span> (line <span class="line-number">241</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Get the Application ID.</p>
	<ul class="tags">
				<li><span class="field">return:</span> the Application ID</li>
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">string</span>
		<span class="method-name">
			getAppId
		</span>
				()
			</div>
	
		
			
	</div>
<a name="methodgetApplicationAccessToken" id="getApplicationAccessToken"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<img src="../media/images/Method.png" />
		<span class="method-title">getApplicationAccessToken</span> (line <span class="line-number">623</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Returns the access token that should be used for logged out  users when no authorization code is available.</p>
	<ul class="tags">
				<li><span class="field">return:</span> The application access token, useful for gathering                 public information about users and applications.</li>
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">string</span>
		<span class="method-name">
			getApplicationAccessToken
		</span>
				()
			</div>
	
		
			
	</div>
<a name="methodgetCode" id="getCode"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<img src="../media/images/Method.png" />
		<span class="method-title">getCode</span> (line <span class="line-number">578</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Get the authorization code from the query parameters, if it exists,  and otherwise return false to signal no authorization code was  discoverable.</p>
	<ul class="tags">
				<li><span class="field">return:</span> The authorization code, or false if the authorization                code could not be determined.</li>
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">mixed</span>
		<span class="method-name">
			getCode
		</span>
				()
			</div>
	
		
			
	</div>
<a name="methodgetCurrentUrl" id="getCurrentUrl"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<img src="../media/images/Method.png" />
		<span class="method-title">getCurrentUrl</span> (line <span class="line-number">970</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Returns the Current URL, stripping it of known FB parameters that should  not persist.</p>
	<ul class="tags">
				<li><span class="field">return:</span> The current URL</li>
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">string</span>
		<span class="method-name">
			getCurrentUrl
		</span>
				()
			</div>
	
		
			
	</div>
<a name="methodgetLoginStatusUrl" id="getLoginStatusUrl"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<img src="../media/images/Method.png" />
		<span class="method-title">getLoginStatusUrl</span> (line <span class="line-number">529</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Get a login status URL to fetch the status from Facebook.</p>
<p class="description"><p>The parameters: <ul><li>ok_session: the URL to go to if a session is found</li><li>no_session: the URL to go to if the user is not connected</li><li>no_user: the URL to go to if the user is not signed into facebook</li></ul></p></p>
	<ul class="tags">
				<li><span class="field">return:</span> The URL for the logout flow</li>
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">string</span>
		<span class="method-name">
			getLoginStatusUrl
		</span>
					([<span class="var-type">array</span>&nbsp;<span class="var-name">$params</span> = <span class="var-default">array()</span>])
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">array</span>
				<span class="var-name">$params</span><span class="var-description">: Provide custom parameters</span>			</li>
				</ul>
		
			
	</div>
<a name="methodgetLoginUrl" id="getLoginUrl"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<img src="../media/images/Method.png" />
		<span class="method-title">getLoginUrl</span> (line <span class="line-number">478</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Get a Login URL for use with redirects. By default, full page redirect is  assumed. If you are using the generated URL with a window.open() call in  JavaScript, you can pass in display=popup as part of the $params.</p>
<p class="description"><p>The parameters: <ul><li>redirect_uri: the url to go to after a successful login</li><li>scope: comma separated list of requested extended perms</li></ul></p></p>
	<ul class="tags">
				<li><span class="field">return:</span> The URL for the login flow</li>
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">string</span>
		<span class="method-name">
			getLoginUrl
		</span>
					([<span class="var-type">array</span>&nbsp;<span class="var-name">$params</span> = <span class="var-default">array()</span>])
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">array</span>
				<span class="var-name">$params</span><span class="var-description">: Provide custom parameters</span>			</li>
				</ul>
		
			
	</div>
<a name="methodgetLogoutUrl" id="getLogoutUrl"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<img src="../media/images/Method.png" />
		<span class="method-title">getLogoutUrl</span> (line <span class="line-number">507</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Get a Logout URL suitable for use with redirects.</p>
<p class="description"><p>The parameters: <ul><li>next: the url to go to after a successful logout</li></ul></p></p>
	<ul class="tags">
				<li><span class="field">return:</span> The URL for the logout flow</li>
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">string</span>
		<span class="method-name">
			getLogoutUrl
		</span>
					([<span class="var-type">array</span>&nbsp;<span class="var-name">$params</span> = <span class="var-default">array()</span>])
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">array</span>
				<span class="var-name">$params</span><span class="var-description">: Provide custom parameters</span>			</li>
				</ul>
		
			
	</div>
<a name="methodgetPersistentData" id="getPersistentData"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<img src="../media/images/AbstractMethod.png" />
		<span class="method-title">getPersistentData</span> (line <span class="line-number">1125</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Get the data for $key, persisted by BaseFacebook::setPersistentData()</p>
	<ul class="tags">
				<li><span class="field">abstract:</span> </li>
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">mixed</span>
		<span class="method-name">
			getPersistentData
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$key</span>, [<span class="var-type">boolean</span>&nbsp;<span class="var-name">$default</span> = <span class="var-default">false</span>])
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$key</span><span class="var-description">: The key of the data to retrieve</span>			</li>
					<li>
				<span class="var-type">boolean</span>
				<span class="var-name">$default</span><span class="var-description">: The default value to return if $key is not found</span>			</li>
				</ul>
		
			
			<hr class="separator" />
		<div class="notes">Redefined in descendants as:</div>
		<ul class="redefinitions">
					<li>
				<a href="../default/Facebook.html#methodgetPersistentData">Facebook::getPersistentData()</a>
							</li>
				</ul>
	</div>
<a name="methodgetSignedRequest" id="getSignedRequest"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<img src="../media/images/Method.png" />
		<span class="method-title">getSignedRequest</span> (line <span class="line-number">393</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Retrieve the signed request, either from a request parameter or,  if not present, from a cookie.</p>
	<ul class="tags">
				<li><span class="field">return:</span> the signed request, if available, or null otherwise.</li>
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">string</span>
		<span class="method-name">
			getSignedRequest
		</span>
				()
			</div>
	
		
			
	</div>
<a name="methodgetSignedRequestCookieName" id="getSignedRequestCookieName"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<img src="../media/images/Method.png" />
		<span class="method-title">getSignedRequestCookieName</span> (line <span class="line-number">566</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Constructs and returns the name of the cookie that  potentially houses the signed request for the app user.</p>
<p class="description"><p>The cookie is not set by the BaseFacebook class, but  it may be set by the JavaScript SDK.</p></p>
	<ul class="tags">
				<li><span class="field">return:</span> the name of the cookie that would house          the signed request value.</li>
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">string</span>
		<span class="method-name">
			getSignedRequestCookieName
		</span>
				()
			</div>
	
		
			
	</div>
<a name="methodgetUrl" id="getUrl"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<img src="../media/images/Method.png" />
		<span class="method-title">getUrl</span> (line <span class="line-number">949</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Build the URL for given domain alias, path and parameters.</p>
	<ul class="tags">
				<li><span class="field">return:</span> The URL for the given parameters</li>
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">string</span>
		<span class="method-name">
			getUrl
		</span>
					(<span class="var-type">$name</span>&nbsp;<span class="var-name">$name</span>, [<span class="var-type">$path</span>&nbsp;<span class="var-name">$path</span> = <span class="var-default">''</span>], [<span class="var-type">$params</span>&nbsp;<span class="var-name">$params</span> = <span class="var-default">array()</span>])
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">$name</span>
				<span class="var-name">$name</span><span class="var-description">: string The name of the domain</span>			</li>
					<li>
				<span class="var-type">$path</span>
				<span class="var-name">$path</span><span class="var-description">: string Optional path (without a leading slash)</span>			</li>
					<li>
				<span class="var-type">$params</span>
				<span class="var-name">$params</span><span class="var-description">: array Optional query parameters</span>			</li>
				</ul>
		
			
	</div>
<a name="methodgetUser" id="getUser"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<img src="../media/images/Method.png" />
		<span class="method-title">getUser</span> (line <span class="line-number">412</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Get the UID of the connected user, or 0  if the Facebook user is not connected.</p>
	<ul class="tags">
				<li><span class="field">return:</span> the UID if available.</li>
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">string</span>
		<span class="method-name">
			getUser
		</span>
				()
			</div>
	
		
			
	</div>
<a name="methodgetUserAccessToken" id="getUserAccessToken"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<img src="../media/images/Method.png" />
		<span class="method-title">getUserAccessToken</span> (line <span class="line-number">335</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Determines and returns the user access token, first using</p>
<p class="description"><p>the signed request if present, and then falling back on  the authorization code if present.  The intent is to  return a valid user access token, or false if one is determined  to not be available.</p></p>
	<ul class="tags">
				<li><span class="field">return:</span> A valid user access token, or false if one                 could not be determined.</li>
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">string</span>
		<span class="method-name">
			getUserAccessToken
		</span>
				()
			</div>
	
		
			
	</div>
<a name="methodgetUserFromAccessToken" id="getUserFromAccessToken"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<img src="../media/images/Method.png" />
		<span class="method-title">getUserFromAccessToken</span> (line <span class="line-number">607</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Retrieves the UID with the understanding that</p>
<p class="description"><p>$this-&gt;accessToken has already been set and is  seemingly legitimate.  It relies on Facebook's Graph API  to retrieve user information and then extract  the user ID.</p></p>
	<ul class="tags">
				<li><span class="field">return:</span> Returns the UID of the Facebook user, or 0                  if the Facebook user could not be determined.</li>
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">integer</span>
		<span class="method-name">
			getUserFromAccessToken
		</span>
				()
			</div>
	
		
			
	</div>
<a name="methodgetUserFromAvailableData" id="getUserFromAvailableData"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<img src="../media/images/Method.png" />
		<span class="method-title">getUserFromAvailableData</span> (line <span class="line-number">429</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Determines the connected user by first examining any signed  requests, then considering an authorization code, and then  falling back to any persistent store storing the user.</p>
	<ul class="tags">
				<li><span class="field">return:</span> The id of the connected Facebook user,                  or 0 if no such user exists.</li>
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">integer</span>
		<span class="method-name">
			getUserFromAvailableData
		</span>
				()
			</div>
	
		
			
	</div>
<a name="methodmakeRequest" id="makeRequest"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<img src="../media/images/Method.png" />
		<span class="method-title">makeRequest</span> (line <span class="line-number">785</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Makes an HTTP request. This method can be overridden by subclasses if  developers want to do fancier things or use something other than curl to  make the request.</p>
	<ul class="tags">
				<li><span class="field">return:</span> The response text</li>
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">string</span>
		<span class="method-name">
			makeRequest
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$url</span>, <span class="var-type">array</span>&nbsp;<span class="var-name">$params</span>, [<span class="var-type">CurlHandler</span>&nbsp;<span class="var-name">$ch</span> = <span class="var-default">null</span>])
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$url</span><span class="var-description">: The URL to make the request to</span>			</li>
					<li>
				<span class="var-type">array</span>
				<span class="var-name">$params</span><span class="var-description">: The parameters to use for the POST body</span>			</li>
					<li>
				<span class="var-type">CurlHandler</span>
				<span class="var-name">$ch</span><span class="var-description">: Initialized curl handle</span>			</li>
				</ul>
		
			
	</div>
<a name="methodparseSignedRequest" id="parseSignedRequest"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<img src="../media/images/Method.png" />
		<span class="method-title">parseSignedRequest</span> (line <span class="line-number">840</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Parses a signed_request and validates the signature.</p>
	<ul class="tags">
				<li><span class="field">return:</span> The payload inside it or null if the sig is wrong</li>
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">array</span>
		<span class="method-name">
			parseSignedRequest
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$signed_request</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$signed_request</span><span class="var-description">: A signed token</span>			</li>
				</ul>
		
			
	</div>
<a name="methodsetAccessToken" id="setAccessToken"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<img src="../media/images/Method.png" />
		<span class="method-title">setAccessToken</span> (line <span class="line-number">293</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Sets the access token for api calls.  Use this if you get  your access token by other means and just want the SDK  to use it.</p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result"><a href="../default/BaseFacebook.html">BaseFacebook</a></span>
		<span class="method-name">
			setAccessToken
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$access_token</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$access_token</span><span class="var-description">: an access token.</span>			</li>
				</ul>
		
			
	</div>
<a name="methodsetApiSecret" id="setApiSecret"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<img src="../media/images/Method.png" />
		<span class="method-title">setApiSecret</span> (line <span class="line-number">251</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Set the API Secret.</p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result"><a href="../default/BaseFacebook.html">BaseFacebook</a></span>
		<span class="method-name">
			setApiSecret
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$apiSecret</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$apiSecret</span><span class="var-description">: The API Secret</span>			</li>
				</ul>
		
			
	</div>
<a name="methodsetAppId" id="setAppId"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<img src="../media/images/Method.png" />
		<span class="method-title">setAppId</span> (line <span class="line-number">231</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Set the Application ID.</p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result"><a href="../default/BaseFacebook.html">BaseFacebook</a></span>
		<span class="method-name">
			setAppId
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$appId</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$appId</span><span class="var-description">: The Application ID</span>			</li>
				</ul>
		
			
	</div>
<a name="methodsetFileUploadSupport" id="setFileUploadSupport"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<img src="../media/images/Method.png" />
		<span class="method-title">setFileUploadSupport</span> (line <span class="line-number">271</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Set the file upload support status.</p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result"><a href="../default/BaseFacebook.html">BaseFacebook</a></span>
		<span class="method-name">
			setFileUploadSupport
		</span>
					(<span class="var-type">boolean</span>&nbsp;<span class="var-name">$fileUploadSupport</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">boolean</span>
				<span class="var-name">$fileUploadSupport</span><span class="var-description">: The file upload support status.</span>			</li>
				</ul>
		
			
	</div>
<a name="methodsetPersistentData" id="setPersistentData"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<img src="../media/images/AbstractMethod.png" />
		<span class="method-title">setPersistentData</span> (line <span class="line-number">1115</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Stores the given ($key, $value) pair, so that future calls to  getPersistentData($key) return $value. This call may be in another request.</p>
	<ul class="tags">
				<li><span class="field">abstract:</span> </li>
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">void</span>
		<span class="method-name">
			setPersistentData
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$key</span>, <span class="var-type">array</span>&nbsp;<span class="var-name">$value</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$key</span>			</li>
					<li>
				<span class="var-type">array</span>
				<span class="var-name">$value</span>			</li>
				</ul>
		
			
			<hr class="separator" />
		<div class="notes">Redefined in descendants as:</div>
		<ul class="redefinitions">
					<li>
				<a href="../default/Facebook.html#methodsetPersistentData">Facebook::setPersistentData()</a>
								: Provides the implementations of the inherited abstract  methods.  The implementation uses PHP sessions to maintain  a store for authorization codes, user ids, CSRF states, and  access tokens.
							</li>
				</ul>
	</div>
<a name="methodshouldRetainParam" id="shouldRetainParam"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<img src="../media/images/Method.png" />
		<span class="method-title">shouldRetainParam</span> (line <span class="line-number">1020</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Returns true if and only if the key or key/value pair should  be retained as part of the query string.  This amounts to  a brute-force search of the very small list of Facebook-specific  params that should be stripped out.</p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">boolean</span>
		<span class="method-name">
			shouldRetainParam
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$param</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$param</span><span class="var-description">: A key or key/value pair within a URL's query (e.g.                      'foo=a', 'foo=', or 'foo'.</span>			</li>
				</ul>
		
			
	</div>
<a name="methodthrowAPIException" id="throwAPIException"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<img src="../media/images/Method.png" />
		<span class="method-title">throwAPIException</span> (line <span class="line-number">1038</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Analyzes the supplied result to see if it was thrown  because the access token is no longer valid.  If that is  the case, then the persistent store is cleared.</p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">void</span>
		<span class="method-name">
			throwAPIException
		</span>
					(<span class="var-type">$result</span>&nbsp;<span class="var-name">$result</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">$result</span>
				<span class="var-name">$result</span><span class="var-description">: array A record storing the error message returned                       by a failed API call.</span>			</li>
				</ul>
		
			
	</div>
<a name="methoduseFileUploadSupport" id="useFileUploadSupport"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<img src="../media/images/Method.png" />
		<span class="method-title">useFileUploadSupport</span> (line <span class="line-number">281</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Get the file upload support status.</p>
	<ul class="tags">
				<li><span class="field">return:</span> true if and only if the server supports file upload.</li>
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">boolean</span>
		<span class="method-name">
			useFileUploadSupport
		</span>
				()
			</div>
	
		
			
	</div>
<a name="method_graph" id="_graph"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<img src="../media/images/Method.png" />
		<span class="method-title">_graph</span> (line <span class="line-number">730</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Invoke the Graph API.</p>
	<ul class="tags">
				<li><span class="field">return:</span> The decoded response object</li>
				<li><span class="field">throws:</span> FacebookApiException</li>
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">mixed</span>
		<span class="method-name">
			_graph
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$path</span>, [<span class="var-type">string</span>&nbsp;<span class="var-name">$method</span> = <span class="var-default">'GET'</span>], [<span class="var-type">array</span>&nbsp;<span class="var-name">$params</span> = <span class="var-default">array()</span>])
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$path</span><span class="var-description">: The path (required)</span>			</li>
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$method</span><span class="var-description">: The http method (default 'GET')</span>			</li>
					<li>
				<span class="var-type">array</span>
				<span class="var-name">$params</span><span class="var-description">: The query/post data</span>			</li>
				</ul>
		
			
	</div>
<a name="method_oauthRequest" id="_oauthRequest"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<img src="../media/images/Method.png" />
		<span class="method-title">_oauthRequest</span> (line <span class="line-number">759</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Make a OAuth Request.</p>
	<ul class="tags">
				<li><span class="field">return:</span> The decoded response object</li>
				<li><span class="field">throws:</span> FacebookApiException</li>
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">string</span>
		<span class="method-name">
			_oauthRequest
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$url</span>, <span class="var-type">array</span>&nbsp;<span class="var-name">$params</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$url</span><span class="var-description">: The path (required)</span>			</li>
					<li>
				<span class="var-type">array</span>
				<span class="var-name">$params</span><span class="var-description">: The query/post data</span>			</li>
				</ul>
		
			
	</div>
<a name="method_restserver" id="_restserver"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<img src="../media/images/Method.png" />
		<span class="method-title">_restserver</span> (line <span class="line-number">697</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Invoke the old restserver.php endpoint.</p>
	<ul class="tags">
				<li><span class="field">return:</span> The decoded response object</li>
				<li><span class="field">throws:</span> FacebookApiException</li>
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">mixed</span>
		<span class="method-name">
			_restserver
		</span>
					(<span class="var-type">array</span>&nbsp;<span class="var-name">$params</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">array</span>
				<span class="var-name">$params</span><span class="var-description">: Method call object</span>			</li>
				</ul>
		
			
	</div>
						
		</div>
	</div>

	<a name="sec-consts"></a>
	<div class="info-box">
		<div class="info-box-title">Class Constants</div>
		<div class="nav-bar">
			<a href="#sec-description">Description</a> |
							<a href="#sec-descendents">Descendants</a> |
										<a href="#sec-var-summary">Constants</a> (<span class="disabled">details</span>)
						
			
												<a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
														| 
									<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
							
					</div>
		<div class="info-box-body">
			<a name="constVERSION" id="VERSION"><!-- --></A>
<div class="oddrow">

	<div class="const-header">
		<img src="../media/images/Variable.png" />
		<span class="const-title">
			<span class="const-name">VERSION</span>
			 = <span class="const-default"> '3.1.1'</span>
			(line <span class="line-number">123</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Version.</p>
	
	
</div>
						
		</div>
	</div>
	
	<p class="notes" id="credit">
		Documentation generated on Wed, 08 Feb 2012 00:34:53 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a>
	</p>
	</div></body>
</html>